/**
 * A Tower figure. extends figure.
 * This class represent any Tower figure.
 * every tower figure in the game will extend this class.
 * @authors Itay Sorani, Nadav Ziv, Yonathan Zarsky
 */
package com.example.models;

import android.content.Context;

import com.example.util.Figure;
import com.example.util.FigureType;
import com.example.util.Vec2D;

public class Unit extends Figure {

	// the unit velocity
	private float velocity;
	// the unit hit points left
	private int hitPoints;
	// initial unit hit points
	private int initialHitPoints;
	// the unit final destination - the building which the unit should reach.
	private Vec2D finalDestenation;
	// the unit id
	private int unitId;
	// the unit name
	private String name;
	// the unit texture height and width
	private int height,width;
	
	/**
     * Constructs a new unit.
     */
	public Unit(Context context) {
		super(context);
		setFigureType(FigureType.unit);
	}
	
	/**
     * Constructs a new unit.
     */
	public Unit() {
		super();
		setFigureType(FigureType.unit);
	}

	/**
     * sets the unit velocity
     */
	public void setVelocity(float velocity) {
		this.velocity = velocity;
	}

	/**
     * returns the unit velocity
     */
	public float getVelocity() {
		return velocity;
	}

	/**
     * sets the unit hit points
     */
	public void setHitPoints(int hitPoints) {
		this.hitPoints = hitPoints;
	}

	/**
     * returns the unit hit points
     */
	public int getHitPoints() {
		return hitPoints;
	}

	/**
     * sets the unit hit final destination, the building which the unit should reach.
     */
	public void setFinalDestenation(Vec2D finalDestenation) {
		this.finalDestenation = finalDestenation;
	}

	/**
     * returns the unit hit final destination.
     */
	public Vec2D getFinalDestenation() {
		return finalDestenation;
	}

	

	/**
     * sets the unit id
     */
	public void setUnitId(int unitId) {
		this.unitId = unitId;
	}

	/**
     * returns the unit id
     */
	public int getUnitId() {
		return unitId;
	}

	/**
     * sets the unit name
     */
	public void setName(String name) {
		this.name = name;
	}

	/**
     * returns the unit name
     */
	public String getName() {
		return name;
	}

	/**
     * sets the unit texture height
     */
	public void setHeight(int height) {
		this.height = height;
	}

	/**
     * returns the unit texture height
     */
	public int getHeight() {
		return height;
	}

	/**
     * sets the unit texture width
     */
	public void setWidth(int width) {
		this.width = width;
	}

	/**
     * returns the unit texture width
     */
	public int getWidth() {
		return width;
	}

	/**
     * sets the unit initial hit points
     */
	public void setInitialHitPoints(int initialHitPoints) {
		this.initialHitPoints = initialHitPoints;
	}

	/**
     * returns the unit initial hit points
     */
	public int getInitialHitPoints() {
		return initialHitPoints;
	}

}
